{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sb_auto_header",
    "tags": [
     "sb_auto_header"
    ]
   },
   "source": [
    "<!-- This cell is automatically updated by tools/tutorial-cell-updater.py -->\n",
    "<!-- The contents are initialized from tutorials/notebook-header.md -->\n",
    "\n",
    "[<img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>](https://colab.research.google.com/github/speechbrain/speechbrain/blob/develop/docs/tutorials/tasks/forced-alignment.ipynb)\n",
    "to execute or view/download this notebook on\n",
    "[GitHub](https://github.com/speechbrain/speechbrain/tree/develop/docs/tutorials/tasks/forced-alignment.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ada3eff8-5ca0-445e-9343-82228d465d45",
   "metadata": {},
   "source": [
    "# Force alignment using k2 for CTC models.\n",
    "\n",
    "This module provides an abstract class, `Aligner`, for force alignment using k2 for CTC models.\n",
    "Besides, it also provides a concrete class, `CTCAligner`, for force alignment using k2\n",
    "specifically for a pre-trained CTC model and a tokeniser (`CTCTextEncoder`).\n",
    "Note that we must make sure that the blank symbol is index 0 in the tokeniser's vocabulary.\n",
    "\n",
    "We support three different ways of conducting force alignment:\n",
    "1. One audio file and one transcript at a time.\n",
    "2. A batch of audio files and transcripts.\n",
    "3. A csv file containing the audio file paths and transcripts.\n",
    "    In this case, the csv file should follow the standard speechbrain csv format with a header line as follows:\n",
    "\n",
    "    ```\n",
    "    ID, duration, wav, spk_id, wrd\n",
    "    ```\n",
    "\n",
    "When token-level alignment is conducted, for one single audio file or a batch of audio files,\n",
    "the aligning method will return a list of lists of integers,\n",
    "where each integer represents the index of the token in the tokeniser's vocabulary.\n",
    "For example, if the tokeniser's vocabulary is `['<blank>', '<unk>', 'a', 'b', 'c']`,\n",
    "then the returned list of lists of integers may look like `[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]`.\n",
    "For an input of csv file, the aligning method will return a dictionary (`Dict[str, List[int]]`),\n",
    "where the keys are the IDs of the audio files and the values are the list of token indexes.\n",
    "\n",
    "When word-level alignment is conducted, for one single audio file or a batch of audio files,\n",
    "the aligning method will return a list of lists of tuples,\n",
    "where each tuple represents (`start_frame` (int, including), `end_frame` (int, including), `word` (str)).\n",
    "For example, if the transcript is 'hello word', and there are 20 frames in the audio file,\n",
    "then the returned list of lists of tuples may look like `[[(3, 10, 'hello'), (11, 16, 'word')]]`.\n",
    "\n",
    "For an input of csv file, the aligning method will return a pandas.`DataFrame`,\n",
    "where the columns are `['ID', 'word', 'start', 'end']`, and note that the start and end are in seconds.\n",
    "However, if the `frame_shift` for the method, `align_csv_word`, is `None`, then the start and end will be in frames.\n",
    "\n",
    "Author:\n",
    "* Zeyu Zhao 2024\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6efd9870-09e2-41cb-b275-262c2195fbd4",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "DEBUG:speechbrain.utils.checkpoints:Registered checkpoint save hook for save\n",
      "DEBUG:speechbrain.utils.checkpoints:Registered checkpoint load hook for load_if_possible\n"
     ]
    }
   ],
   "source": [
    "# For this tutorial, speechbrain and k2 are assumed to be pre-installed, see instructions at:\n",
    "# * https://speechbrain.readthedocs.io/en/latest/installation.html\n",
    "# * https://k2-fsa.github.io/k2/installation/index.html\n",
    "from speechbrain.inference import EncoderASR\n",
    "from speechbrain.integrations.k2_fsa.align import CTCAligner"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "372dad04-dae3-4fb1-aa7d-2c1547043196",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:speechbrain.utils.fetching:Fetch example.wav: Fetching from HuggingFace Hub 'speechbrain/asr-wav2vec2-commonvoice-en' if not cached\n",
      "INFO:speechbrain.utils.fetching:Fetch hyperparams.yaml: Using symlink found at '/home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/hyperparams.yaml'\n",
      "Some weights of Wav2Vec2Model were not initialized from the model checkpoint at facebook/wav2vec2-large-960h-lv60-self and are newly initialized: ['wav2vec2.masked_spec_embed']\n",
      "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n",
      "WARNING:speechbrain.integrations.huggingface.huggingface:speechbrain.integrations.huggingface.huggingface - Wav2Vec2Model is frozen.\n",
      "DEBUG:speechbrain.utils.parameter_transfer:Collecting files (or symlinks) for pretraining in pretrained_models/asr-wav2vec2-librispeech.\n",
      "INFO:speechbrain.utils.fetching:Fetch wav2vec2.ckpt: Using symlink found at '/home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/wav2vec2.ckpt'\n",
      "DEBUG:speechbrain.utils.parameter_transfer:Set local path in self.paths[\"wav2vec2\"] = /home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/wav2vec2.ckpt\n",
      "INFO:speechbrain.utils.fetching:Fetch asr.ckpt: Using symlink found at '/home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/asr.ckpt'\n",
      "DEBUG:speechbrain.utils.parameter_transfer:Set local path in self.paths[\"asr\"] = /home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/asr.ckpt\n",
      "INFO:speechbrain.utils.fetching:Fetch tokenizer.ckpt: Using symlink found at '/home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/tokenizer.ckpt'\n",
      "DEBUG:speechbrain.utils.parameter_transfer:Set local path in self.paths[\"tokenizer\"] = /home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/tokenizer.ckpt\n",
      "INFO:speechbrain.utils.parameter_transfer:Loading pretrained files for: wav2vec2, asr, tokenizer\n",
      "DEBUG:speechbrain.utils.parameter_transfer:Redirecting (loading from local path): wav2vec2 -> /home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/wav2vec2.ckpt\n",
      "DEBUG:speechbrain.utils.parameter_transfer:Redirecting (loading from local path): asr -> /home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/asr.ckpt\n",
      "DEBUG:speechbrain.utils.parameter_transfer:Redirecting (loading from local path): tokenizer -> /home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/tokenizer.ckpt\n",
      "DEBUG:speechbrain.dataio.encoder:Loaded categorical encoding from /home/competerscience/Documents/Repositories/speechbrain/docs/tutorials/tasks/pretrained_models/asr-wav2vec2-librispeech/tokenizer.ckpt\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'THE BIRCH CANOE SLID ON THE SMOOTH PLANKS'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# This aligner depends on having a pretrained CTC-based ASR model\n",
    "# Let's load a pretrained one and demonstrate that it works\n",
    "from speechbrain.utils.fetching import fetch\n",
    "wav = fetch(\"example.wav\", source=\"speechbrain/asr-wav2vec2-commonvoice-en\")\n",
    "asr_model = EncoderASR.from_hparams(source=\"speechbrain/asr-wav2vec2-librispeech\", savedir=\"pretrained_models/asr-wav2vec2-librispeech\")\n",
    "asr_model.transcribe_file(str(wav))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "3de248e6-57ee-478e-8cb8-82a57bcd504a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Amplitude')"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's load the audio file and display it here\n",
    "import matplotlib.pyplot as plt\n",
    "import torchaudio\n",
    "import numpy as np\n",
    "\n",
    "audio, fs = torchaudio.load(wav)\n",
    "xs = np.arange(len(audio[0])) / fs\n",
    "plt.plot(xs, audio[0])\n",
    "plt.xlabel(\"Time [s]\")\n",
    "plt.ylabel(\"Amplitude\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "55262bd3-269b-4fde-a349-e8dcd6bf05e3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(0.1, 0.14, 'THE'),\n",
       " (0.26, 0.5, 'BIRCH'),\n",
       " (0.68, 0.98, 'CANOE'),\n",
       " (1.3800000000000001, 1.62, 'SLID'),\n",
       " (1.82, 1.8800000000000001, 'ON'),\n",
       " (1.96, 2.02, 'THE'),\n",
       " (2.16, 2.48, 'SMOOTH'),\n",
       " (2.64, 3.02, 'PLANKS')]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Okay, run the alignment\n",
    "aligner = CTCAligner(model=asr_model, tokenizer=asr_model.tokenizer, device=asr_model.device)\n",
    "alignment = aligner.align_audio_to_words(wav, \"THE BIRCH CANOE SLID ON THE SMOOTH PLANKS\", frame_shift=0.02)\n",
    "alignment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "031f3967-a330-46ac-9503-e0c7cd56495b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(xs, audio[0])\n",
    "plt.xlabel(\"Time [s]\")\n",
    "plt.ylabel(\"Amplitude\")\n",
    "\n",
    "# Add to the chart all the word boundaries\n",
    "plt.vlines([start for start, _, _ in alignment], ymin=-0.06, ymax=0.06, color=\"lightgreen\")\n",
    "plt.vlines([stop for _, stop, _ in alignment], ymin=-0.06, ymax=0.06, color=\"red\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sb_auto_footer",
    "tags": [
     "sb_auto_footer"
    ]
   },
   "source": [
    "## Citing SpeechBrain\n",
    "\n",
    "If you use SpeechBrain in your research or business, please cite it using the following BibTeX entry:\n",
    "\n",
    "```bibtex\n",
    "@misc{speechbrainV1,\n",
    "  title={Open-Source Conversational AI with {SpeechBrain} 1.0},\n",
    "  author={Mirco Ravanelli and Titouan Parcollet and Adel Moumen and Sylvain de Langen and Cem Subakan and Peter Plantinga and Yingzhi Wang and Pooneh Mousavi and Luca Della Libera and Artem Ploujnikov and Francesco Paissan and Davide Borra and Salah Zaiem and Zeyu Zhao and Shucong Zhang and Georgios Karakasidis and Sung-Lin Yeh and Pierre Champion and Aku Rouhe and Rudolf Braun and Florian Mai and Juan Zuluaga-Gomez and Seyed Mahed Mousavi and Andreas Nautsch and Xuechen Liu and Sangeet Sagar and Jarod Duret and Salima Mdhaffar and Gaelle Laperriere and Mickael Rouvier and Renato De Mori and Yannick Esteve},\n",
    "  year={2024},\n",
    "  eprint={2407.00463},\n",
    "  archivePrefix={arXiv},\n",
    "  primaryClass={cs.LG},\n",
    "  url={https://arxiv.org/abs/2407.00463},\n",
    "}\n",
    "@misc{speechbrain,\n",
    "  title={{SpeechBrain}: A General-Purpose Speech Toolkit},\n",
    "  author={Mirco Ravanelli and Titouan Parcollet and Peter Plantinga and Aku Rouhe and Samuele Cornell and Loren Lugosch and Cem Subakan and Nauman Dawalatabad and Abdelwahab Heba and Jianyuan Zhong and Ju-Chieh Chou and Sung-Lin Yeh and Szu-Wei Fu and Chien-Feng Liao and Elena Rastorgueva and François Grondin and William Aris and Hwidong Na and Yan Gao and Renato De Mori and Yoshua Bengio},\n",
    "  year={2021},\n",
    "  eprint={2106.04624},\n",
    "  archivePrefix={arXiv},\n",
    "  primaryClass={eess.AS},\n",
    "  note={arXiv:2106.04624}\n",
    "}\n",
    "```"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "uvpy311",
   "language": "python",
   "name": "uvpy311"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
